Many wireless communication devices (e.g., cellular phones, laptop computers, etc.) have the ability to access the Internet to receive data from or send data to other communication devices (e.g., servers). Communication networks, such as cellular mobile networks are striving to provide always-on Internet Protocol (IP) connectivity to wireless communication devices. For instance, Mobile IP (MIP) and its variants, such as Proxy MIP and Dual Stack MIP, are being employed to provide IP layer continuity across handoffs and reachability to communication devices. MIP also is being utilized to perform routing support for roaming, multi-network interworking, and vertical handoffs.
Meanwhile, the wired Internet has been employing persistent connections to services and/or client-initiated pull with periodic or more intelligent schedules based on various user and network activities in order to provide reachability at the application layer. In some instances, this can achieve the appearance of constant or near real-time reachability to users. Some examples involve email, instant chat, RSS feeds, and presence services (e.g., email clients polling their servers periodically, instant messaging clients maintaining open sockets to their servers at all times if possible). This is due to the dynamic nature of most end-host IP address assignments, and the extensive use of Network Address and Port Translation (NAPT) that prevents application servers from discovering their clients' IP addresses and initiating connections when needed.
MIP can provide IP address preservation during handoff across multiple IP subnets via tunnels to Home Agents (HAs), thus applications and the transport layer (e.g., transmission control protocol (TCP)) do not see IP address changes. This allows existing IP connections (or sockets) to survive subnet changes, thus allowing Voice over IP (VoIP) or streaming media sessions to work without modification, e.g., session continuity. However, besides the above two applications and other similar applications, most IP applications do not require session continuity but rather reachability at the application layer, e.g., to be notified of events of interest rather than having IP packets delivered at all times (which is one way, but not the only way, to achieve reachability). This is applicable, for example, during idle periods under dormant power—a save state widely used in mobile communication devices to achieve long standby performance. Other connections can deal with IP address changes during handoffs via reconnection (e.g., web browsers) and other application specific countermeasures, such as session initiated protocol (SIP) mobility or IP multimedia subsystem (IMS) service continuity (SC).
Paging also can be handled using wide area two-way paging networks, where the paging services use large cells and low rate high-power radio channels to deliver small amount of texts that were combined into email messages on compatible devices. In certain instances, such a system can use networks such as CDPD and MobiTex that can use permanent logical connections (i.e., an assigned IP address that never changes and can serve as a permanent ID mapped to layer 2 paging). Another conventional paging system involves the use of several datacenters that handle notifications and the delivery of messages in relatively small fragments (e.g., 2 kbytes). These datacenters are connected to specified servers via persistent connections through firewalls. The specified servers interface with email and other desired systems. The actual notification from the infrastructure to the client devices are handled in a manner that requires prior arrangements with wireless data network carriers, by querying HLR and triggering layer 2 paging (if there is no connection open to a client such as when the client has been idle for awhile).
Another form of conventional paging involves special SMS notifications that automatically trigger email clients to initiate IP connections to their servers. The SMS messages contain specially encoded information to indicate specific actions that the client needs to take and the SMS messages are invisible to users as the messages are not exposed to the normal SMS user interfaces. This form of paging has been disfavored, due to the cost of SMS messages and its non-guaranteed delivery and variable delays.
Yet another form of conventional paging involves using a persistent socket connection to achieve a “direct push” service for real-time updates for email, calendar, and contacts. By adjusting the timing of heartbeat-like messages between the client software on mobile devices and their exchange servers, the protocol attempts to maintain a persistent transmission control protocol (TCP) socket connection that has been originally initiated by the client, potentially through firewalls, and network address port translation (NAPT) devices. The bearer management protocols over cellular mobile networks may tear down the transport service for the persistent connection, but may provide an on-demand reactivation if the same IP address is reserved for the mobile device for a certain period of time. Otherwise, the bearer transport service may be released unbeknownst to the mobile device's IP stack (although the radio interface may be aware of this), and the IP address of the mobile device returned to a pool of IP addresses. The loss of heartbeat packets from server detected by timeouts indicates that the persistent connection has been broken and triggers a new connection establishment by the mobile device. The failure and the success of heartbeat message deliveries at expected intervals adjust the timing of next messages from the client and the server until the approximate longest heartbeat interval that still maintains the connection is found. The client also initiates a new connection when its main radio interface in use is changed between cellular and Wi-Fi, or obtains a new IP address in any case. As this is performed without informing the user, it is possible to achieve the appearance of nearly real-time notification from the server. While there is a working connection, the notifications from the server reaches the client promptly. If there is not a working connection, the client attempts a new connection at the next opportunity possible, with increasingly less aggressive retry strategies as the number of failures increases, to gracefully handle when the mobile device moves out of coverage and loses all connectivity.
Thus, conventionally, paging of mobile devices has been performed by maintaining a long-living or persistent connection between the mobile device and a server and/or paging from the infrastructure to a client mobile device has been handled in a manner that requires prior arrangements with wireless data network carriers.
It is desirable to provide paging services to mobile devices for updates, notifications, etc., with regard to applications and services from servers, particularly with regard to third-party applications, without the mobile devices having to maintain long-living or persistent TCP connections with the corresponding servers and without the servers, initiating the paging, having to establish a prior relationship with the operator networks.